package com.stylefeng.guns.modular.netcar.model;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import com.stylefeng.guns.core.validater.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.ibatis.annotations.Insert;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

@Data
@TableName("order_type")
 /**
 * 订单类型
 *
 * @author 张亚林
 * @Date 2018-10-26 10:34
 * @TableField(exist = false) 实现属性与数据库字段不一一对应
 */
public class OrderType extends Model<OrderType> {
    private static final long serialVersionUID = 1L;
    /**
     * 主键id
     * 自动生成后修改成实际的主键 
     */
    protected Serializable pkVal() {
        return this.otId;
    }
    
    //扩展能查询字段
    @TableField(exist = false)
    @ApiModelProperty(hidden = true)
    @JSONField(serialize = false)
    private String key ;
    //开始日期
    @TableField(exist = false)
    @ApiModelProperty(hidden = true)
    @JSONField(serialize = false)
    private String sdate;
    //截止日期 
    @TableField(exist = false)
    @ApiModelProperty(hidden = true)
    @JSONField(serialize = false)
	private String edate;
    //排序字段
    @TableField(exist = false)
    @ApiModelProperty(hidden = true)
    @JSONField(serialize = false)
	private String  sortField ;
	//排序	
	@TableField(exist = false)
    @ApiModelProperty(hidden = true)
    @JSONField(serialize = false)
	private String sortOrder;

	
    @ApiModelProperty(value = "主键")
    @TableField("ot_id")
    @NotNull(message = "主键不能为空",groups = Update.class)
    private Integer otId;     //主键

    @ApiModelProperty(value = "类型名")
    @TableField("ot_name")
    @NotNull(message = "类型名不能为空",groups = {Insert.class,Update.class})
    private String otName;     //类型名

    @ApiModelProperty(value = "类型code")
    @TableField("ot_code")
    @NotNull(message = "类型code不能为空",groups = {Insert.class,Update.class})
    private String otCode;     //类型code

    @ApiModelProperty(value = "类型分类：0订单类型（ 城际（CJ)/机场专线（JC））1 服务分类 （0（送）1（接））2 服务类型（0(专)/1(快车)）")
    @TableField("ot_type")
    @NotNull(message = "类型分类不能为空",groups = {Insert.class,Update.class})
    private String otType;     //类型分类：0订单类型（ 城际（CJ)/机场专线（JC））1 服务分类 （0（送）1（接））2 服务类型（0(专)/1(快车)）


}
